Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB2008] Conversione da vb6 a vb.net
Forum - C# / VB.NET - [VB2008] Conversione da vb6 a vb.net

Avatar
cbcup (Normal User)
Newbie


Messaggi: 17
Iscritto: 12/10/2010

Segnala al moderatore
Postato alle 10:00
Domenica, 23/01/2011
Buongiorno a tutti,
ho acquistato un kit della velleman che interfaccia con il pc con programmino in vb6,
il kit é il k8086 (display con interfaccia seriale). Con il vostro aiuto ho terminato un programma di gestione I/O e volevo integrare ad esso un visualizzatore di cicli.
Il mio problema é che non capisco la logica della trasmissione su porta seriale e, ancor meno, come trasformare ciò che é scritto in vb6 in vb2008. Se qualcuno di voi fosse così gentile da spiegarmi passo passo come trasformare una variaile "a" (da 0 a 12) in una stringa da mandare su porta com1, gliene sarei grato.
Grazie, Carlo.

PM
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 9:24
Giovedì, 27/01/2011
Ciao, per quanto riguarda comunicazione con la porta COM (RS-232) trovi la documentazione su MSDN
http://msdn.microsoft.com/en-us/library/system.io.ports.se ...
ci sono anche esempi di codice fatti abbastanza bene, per quanto riguarda la trasformazione di un intero in stringa... dovrebbe essere sufficiente un .ToString (pippo.ToString)

Ultima modifica effettuata da Gianluca87 il 27/01/2011 alle 9:25
PM
Avatar
cbcup (Normal User)
Newbie


Messaggi: 17
Iscritto: 12/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:43
Giovedì, 27/01/2011
Grazie,
ho già letto tutto quello che potevo su MSDN, ed il problema mi rimane invariato, come si traduce questo codice in vb.net?
Codice sorgente - presumibilmente VB.NET

  1. Private Sub update()
  2.                 Dim messagestring As Object
  3.                 Dim checksum As Object
  4.                 Dim Character As Object
  5.                 Dim characterpointer As Object
  6.                 Dim t As Object
  7.                
  8.                 For t = 1 To 4 'update display 1 to 4
  9.                         characterpointer = t
  10.                         Character = CDbl(Label2(t - 1).Text) + 48 ' 0..9 + 48 = ASCII value of character
  11.                         checksum = (255 - ((((13 + characterpointer + Asc("A") + Character) / 256) - Int((13 + characterpointer + Asc("A") + Character) / 256)) * 256)) + 1
  12.                         If checksum = 256 Then checksum = 0
  13.                         messagestring = Chr(13) & Chr(characterpointer) & "A" & Chr(Character) & Chr(checksum)
  14.                         messagestring = messagestring + messagestring
  15.                         Comm.Output = messagestring
  16.                         Next t
  17.                 Call strobe()
  18.         End Sub
  19.  
  20.         Private Sub strobe()
  21.                 Dim messagestring As Object
  22.                 Dim checksum As Object
  23.                 Dim address As Object 'send a strobe command to all displays
  24.                 checksum = (255 - ((((13 + address + Asc("S") + 19) / 256) - Int((13 + address + Asc("S") + 19) / 256)) * 256)) + 1
  25.                 messagestring = Chr(13) & Chr(address) & "S" & Chr(19) & Chr(checksum)
  26.                 Comm.Output = messagestring      
  27.         End Sub


la "comm." in VB2008 é sostituito con SerialPort1()
Ho già constatato che posso settare la porta Com in progettazione con i parametri necessari, posso aprire e chiudere la porta con "Open e Close" ed il VB2008 non mi segnala errori ma ugualmente il display non visualizza.... ciò che visualizza in VB6.
Ho provato a contattare anche la velleman e... ciccia!
Comunque, ragazzi, continuo a sbatterci le corna ancora un pochino.
Carlo.

Forza tieni duro, non mollare - Ultimo - 27/01/11 17:07
PM